package cn.tedu.autoshow.website.service;

import cn.tedu.autoshow.commons.pojo.vo.PageData;
import cn.tedu.autoshow.commons.security.LoginPrincipal;
import cn.tedu.autoshow.website.pojo.param.PaperAddNewParam;
import cn.tedu.autoshow.website.pojo.param.PaperUpdateInfoParam;
import cn.tedu.autoshow.website.pojo.vo.*;

public interface PaperService {

    //添加新的稿件
    void addNew(PaperAddNewParam paperAddNewParam, LoginPrincipal loginPrincipal);

    //根据ID删除稿件
    void deleteById(Long id);

    //根据ID修改稿件
    void updateInfoById(Long id, PaperUpdateInfoParam paperUpdateInfoParam);

    /**
     * 根据ID查询相册数据详情
     *
     * @param id 相册ID
     * @return 匹配的相册数据详情，如果没有匹配的数据，则返回null
     */
    PaperStandardVO getStandardById(Long id);

    /**
     * 查询相册数据列表，将使用默认的每页记录数
     *
     * @param pageNum 页码
     * @return 相册数据列表
     */
    PageData<PaperListItemVO> list(Integer pageNum);

    /**
     * 查询相册数据列表
     *
     * @param pageNum  页码
     * @param pageSize 每页记录数
     * @return 相册数据列表
     */
    PageData<PaperListItemVO> list(Integer pageNum, Integer pageSize);
}
